package com.learn.core.domain.view;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

/**
 * Description
 *
 * @author zhaohongyu
 * @ClassName ExamUser
 * @date 2021.04.13 11:19
 * @describe VIEW实体类
 */
@TableName("exam_user")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value="ExamUser对象", description="VIEW")
public class ExamUser implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField("exam_id")
    private Integer examId;

    @ApiModelProperty(value = "考次名称")
    @TableField("exam_name")
    private String examName;

    @ApiModelProperty(value = "考次编号")
    @TableField("exam_code")
    private String examCode;

    @ApiModelProperty(value = "主办单位")
    @TableField("organization_id")
    private Integer organizationId;
    @TableField(exist = false)
    private String organizationName;

    public String getOrganizationName() {
        return organizationName;
    }

    public void setOrganizationName(String organizationName) {
        this.organizationName = organizationName;
    }

    @ApiModelProperty(value = "所属分类")
    @TableField("exam_sort_id")
    private Integer examSortId;

    @ApiModelProperty(value = "考次封面")
    @TableField("exam_cover_url")
    private String examCoverUrl;

    @ApiModelProperty(value = "失效时间")
    @TableField("failure_time")
    private String failureTime;

    @ApiModelProperty(value = "计时方式1答题时间 2开始考试时间交卷时间 3 按题计时 4 不计时")
    @TableField("timing_type")
    private String timingType;

    @ApiModelProperty(value = "答题时间，开始考试时间，按题计时")
    @TableField("timing_start_time")
    private String timingStartTime;

    @ApiModelProperty(value = "交卷时间")
    @TableField("timing_end_time")
    private String timingEndTime;

    @ApiModelProperty(value = "考试须知")
    @TableField("exam_notice")
    private String examNotice;

    @ApiModelProperty(value = "试卷首语")
    @TableField("exam_prologue")
    private String examPrologue;

    @ApiModelProperty(value = "发布时间")
    @TableField("release_time")
    private String releaseTime;

    @TableField("exam_submit")
    private String examSubmit;

    @TableField("exam_frequency")
    private String examFrequency;

    @ApiModelProperty(value = "发布状态 0未发布1已发布")
    @TableField("release_state")
    private String releaseState;

    @ApiModelProperty(value = "所属分类 1考试2模拟")
    @TableField("type")
    private String type;

    @TableField("create_user")
    private String createUser;

    @ApiModelProperty(value = "试卷id")
    @TableField("exam_paper_id")
    private Integer examPaperId;

    @ApiModelProperty(value = "报名id")
    @TableField("exam_user_id")
    private Integer examUserId;

    @TableField("user_id")
    private Integer userId;

    @TableField(exist = false)
    private String userName;

    @ApiModelProperty(value = "考试状态 0报名 1在考 2已考")
    @TableField("exam_user_state")
    private String examUserState;

    @TableField("user_score")
    private String userScore;

    @TableField("exam_time")
    private Date examTime;

    @TableField("user_ip")
    private String userIp;

    @TableField(exist = false)
    private Integer count;

    @TableField(exist = false)
    private Integer countType;

    public Date getExamTime() {
        return examTime;
    }

    public void setExamTime(Date examTime) {
        this.examTime = examTime;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserScore() {
        return userScore;
    }

    public void setUserScore(String userScore) {
        this.userScore = userScore;
    }

    public String getUserIp() {
        return userIp;
    }

    public void setUserIp(String userIp) {
        this.userIp = userIp;
    }

    public String getExamSubmit() {
        return examSubmit;
    }

    public void setExamSubmit(String examSubmit) {
        this.examSubmit = examSubmit;
    }

    public String getExamFrequency() {
        return examFrequency;
    }

    public void setExamFrequency(String examFrequency) {
        this.examFrequency = examFrequency;
    }

    public Integer getCountType() {
        return countType;
    }

    public void setCountType(Integer countType) {
        this.countType = countType;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Integer getExamId() {
        return examId;
    }

    public void setExamId(Integer examId) {
        this.examId = examId;
    }

    public String getExamName() {
        return examName;
    }

    public void setExamName(String examName) {
        this.examName = examName;
    }

    public String getExamCode() {
        return examCode;
    }

    public void setExamCode(String examCode) {
        this.examCode = examCode;
    }

    public Integer getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(Integer organizationId) {
        this.organizationId = organizationId;
    }

    public Integer getExamSortId() {
        return examSortId;
    }

    public void setExamSortId(Integer examSortId) {
        this.examSortId = examSortId;
    }

    public String getExamCoverUrl() {
        return examCoverUrl;
    }

    public void setExamCoverUrl(String examCoverUrl) {
        this.examCoverUrl = examCoverUrl;
    }

    public String getFailureTime() {
        return failureTime;
    }

    public void setFailureTime(String failureTime) {
        this.failureTime = failureTime;
    }

    public String getTimingType() {
        return timingType;
    }

    public void setTimingType(String timingType) {
        this.timingType = timingType;
    }

    public String getTimingStartTime() {
        return timingStartTime;
    }

    public void setTimingStartTime(String timingStartTime) {
        this.timingStartTime = timingStartTime;
    }

    public String getTimingEndTime() {
        return timingEndTime;
    }

    public void setTimingEndTime(String timingEndTime) {
        this.timingEndTime = timingEndTime;
    }

    public String getExamNotice() {
        return examNotice;
    }

    public void setExamNotice(String examNotice) {
        this.examNotice = examNotice;
    }

    public String getExamPrologue() {
        return examPrologue;
    }

    public void setExamPrologue(String examPrologue) {
        this.examPrologue = examPrologue;
    }

    public String getReleaseTime() {
        return releaseTime;
    }

    public void setReleaseTime(String releaseTime) {
        this.releaseTime = releaseTime;
    }

    public String getReleaseState() {
        return releaseState;
    }

    public void setReleaseState(String releaseState) {
        this.releaseState = releaseState;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public Integer getExamPaperId() {
        return examPaperId;
    }

    public void setExamPaperId(Integer examPaperId) {
        this.examPaperId = examPaperId;
    }

    public Integer getExamUserId() {
        return examUserId;
    }

    public void setExamUserId(Integer examUserId) {
        this.examUserId = examUserId;
    }

    public String getExamUserState() {
        return examUserState;
    }

    public void setExamUserState(String examUserState) {
        this.examUserState = examUserState;
    }
}
